﻿using ValidationProblemTracking.Models.ResponseModel;
using RndMaterialDisposalService.Models;
using RndMaterialDisposalService.Models.Entitys;
using RndMaterialDisposalService.Models.RequestModel;

namespace RndMaterialDisposalService.Services.Interface.ValidationProblemTracking
{
    /// <summary>
    /// 
    /// </summary>
    public interface ILaunchVerifyService
    {


        /// <summary>
        /// 
        /// </summary>
        /// <param name="reportModel"></param>
        /// <returns></returns>
        Task<int> SaveReportData(LaunchVerifyReportDto reportModel);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="procInstId"></param>
        /// <returns></returns>
        Task<NewProductApplyReportDto> GetProductApplyReportData(string procInstId);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="procInstId"></param>
        /// <returns></returns>
        Task<List<ERPDeviceInfoReportDto>> NewProductApplyERPDeviceInfoReport(string procInstId);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="inputReq"></param>
        /// <returns></returns>
        Task<(List<LaunchVerifyReportDto> list, int count)> GetReportData(LaunchVerifyReportDataReq inputReq);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="folio"></param>
        /// <returns></returns>
        Task<List<ValidationProblemResp>> ValidationProblemVerifyStartFolio(string folio);
    }
}
